Skip to content

Card grid for desktop reveal and single-pick dialogs#10646

Open
MostCromulent wants to merge 1 commit intoCard-Forge:masterfrom
MostCromulent:card-grid-chooser
Open

Card grid for desktop reveal and single-pick dialogs#10646
MostCromulent wants to merge 1 commit intoCard-Forge:masterfrom
MostCromulent:card-grid-chooser

Conversation

@MostCromulent
Copy link
Copy Markdown
Contributor

@MostCromulent MostCromulent commented May 10, 2026

Example using Inquisition of Kozilek

Before:
Screenshot 2026-05-10 080841
After:
Screenshot 2026-05-10 092046


  • Add card art selection dialog to desktop deck editor #10546 introduced CardImageGrid as a general utility for the deck-editor art picker; this PR takes advantage of it for desktop reveal and single-pick dialogs, so reveal/discard/exile prompts show thumbnails instead of a names-only list.
  • CardImageGrid is now generic over the item type via a CellAdapter; forPaperCards keeps the deck-editor art picker, forCardViews is the new in-match path.
  • Non-CardView ListChooser dialogs (counter types, colors, modes, spell abilities) stay on the text list — there's no card art to render.
  • Multi-pick CardView selection isn't part of ListChooser traffic at all — it routes through DualListBox (two-column ordering) or InputSelectCardsFromList (clicking cards on the battlefield), which are separate widgets with their own UX. Bringing the grid look to those is a larger change and out of scope here.
  • Desktop GUI only — no protocol, serialization, or game-state changes; wire format and delta sync are untouched.

🤖 Generated with Claude Code

Replace the text-list dialogs that desktop matches use for reveal and
single-card pick prompts (opponent reveals their hand, look at top N
of library, choose a card from a list) with a thumbnail grid. Cards
are visual objects; players recognise them by art faster than by name.

Dispatch lives inline in ListChooser: when the list is CardView-only
and maxChoices <= 1, build a CardImageGrid; otherwise the existing
text path runs unchanged. CardImageGrid is genericized over the item
type with a small per-type adapter for image-key and footer-text
resolution, so the deck-editor art picker continues to use it for
PaperCards while in-game dialogs use it for CardViews. Multi-card
prompts continue to route through DualListBox.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant